package com.icongyou.enterprise.course_detail.mapper;

import com.icongyou.enterprise.course_detail.entity.AssignmentEntity;
import com.icongyou.enterprise.course_detail.entity.AssignmentRankEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 课程详情Mapper
 */
@Mapper
public interface CourseDetailMapper {

    /**
     * 查询学生在某课程中的所有任务信息
     *
     * @param studentId 学生ID
     * @param courseId  课程ID
     * @return 任务列表
     */
    List<AssignmentEntity> getStudentAssignmentsByCourse(@Param("studentId") String studentId,
                                                          @Param("courseId") String courseId);

    /**
     * 查询某任务的学生排名
     *
     * @param assignmentId 任务ID
     * @return 排名列表
     */
    List<AssignmentRankEntity> getAssignmentRankings(@Param("assignmentId") String assignmentId);

    /**
     * 查询某任务中特定学生的排名
     *
     * @param assignmentId 任务ID
     * @param studentId    学生ID
     * @return 排名信息
     */
    AssignmentRankEntity getStudentAssignmentRank(@Param("assignmentId") String assignmentId,
                                                   @Param("studentId") String studentId);
}
